$menuWidth: 14em;
$menuPaddingLeft: 3em;

* {
	box-sizing: border-box;
}

body {
	width: 100vw;
	height: 100vh;
	overflow: auto;
}

body {
	padding: 1em 2em 2em $menuWidth+$menuPaddingLeft;
	font-size: 16px;
	line-height: 1.6;

	font-family: 'Roboto', sans-serif;
}

.toc {
	position: fixed;
	left: $menuPaddingLeft;
	top: 5em;
	padding: 1em;
	width: $menuWidth;
	line-height: 2;

	ul {
		list-style: none;
		padding: 0;
		margin: 0;
	}

	ul ul {
		padding-left: 2em;
	}

	li a {
		display: inline-block;
		color: #aaa;
		text-decoration: none;
		transition: all 0.3s cubic-bezier(0.230, 1.000, 0.320, 1.000);
	}

	li.visible>a {
		color: #111;
		transform: translate( 5px );
	}
}

.toc-marker {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;

	path {
		transition: all 0.3s ease;
	}
}

.contents {
	padding: 1em;
	max-width: 800px;
	font-size: 1.2em;
	font-family: 'Frank Ruhl Libre', sans-serif;

	img {
		max-width: 100%;
	}

	.code-block {
		white-space: pre;
		overflow: auto;
		max-width: 100%;

		code {
			display: block;
			background-color: #f9f9f9;
			padding: 10px;
		}
	}

	.code-inline {
		background-color: #f9f9f9;
		padding: 4px;
	}

	h2
	h3 {
		padding-top: 1em;
	}


	h2 {
		margin-top: 1.2em;
	}
}


@media screen and (max-width: 1200px) {

	body {
		font-size: 14px;
	}

}